The user interface of electronic devices comprises in many cases a keyboard with which the user may give commands to the device. A full-size typewriter keyboard is usable in devices which are of sufficient size, but in many portable devices the size of the device limits the size of the keyboard.
In prior art, the problem has been solved by introducing a touch sensitive screen which displays a miniature keyboard. A user presses the keys with a pointing device. However, this is a cumbersome solution, as it typically requires the use of both hands of the user.
Another solution presented in prior art is to reduce the number keys in the keyboard and to associate several characters with each key. For example, in mobile phones a typical keyboard comprises twelve keys intended for entering characters. Each key is associated with several different characters. The problem with this solution is to unambiguously determine the correct character when a user enters a sequence of keystrokes.
In what is called a multi-tap method, the user presses a key repeatedly to cycle through the characters associated with the key. For example, if characters ‘a’, ‘b’ and ‘c’ have been associated with a key and the user presses the key twice in succession, the character ‘b’ is selected as the correct character. The drawback of this solution is the large number of keystrokes. Another drawback is that if the next character to be typed is associated with the same key as the previous one, the user has to pause the typing for a given period of time so that the device can distinguish the characters from each other. Alternatively, the user may press a separation key, which indicates to the device that the next key presses are for the next character. Both of these solutions make the typing of characters slow.
Predictive text input solutions have also been proposed. These solutions rely on dictionaries stored in the devices. The dictionaries comprise words most commonly used in the selected language. In these solutions, the user does not select specific characters from the keys by repeatedly pressing each key. Instead, only one key press is required for each character. Each press indicates the key the particular character is associated with. The device receives the keyed sequence and compares the selected keys and their associations to the words stored in the dictionary. Thus, while the word is being written, the device proposes words that match the typed key sequence to the display of the device. If several words correspond to the typed key sequence, the user may select the correct words from the proposed alternatives.
This solution may greatly reduce the number of required keystrokes. However, the solution also has several drawbacks. The user has to be very careful all the time to select the correct word from the proposed alternatives—otherwise a totally wrong word can easily get inserted into the text. Furthermore, as the operation is based on a limited dictionary, it may be a tedious task for the user to keep on adding the missing words to the dictionary. As the number of words in the dictionary grows, there will be more and more words corresponding to a single keypad sequence, which slows down the typing procedure. The typing can also be rather cumbersome, if the text being written mixes words from several different languages. For these reasons the predictive text input has not replaced the multi-tap method, especially not among those who need to use character input repeatedly.